﻿using Idte.Common.Process;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;

namespace Idte.HumanResource.Job
{
    public abstract class TaskDescriptor : IStepDescriptor
    {
        [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public Guid Id { get; set; }

        public string Code { get; set; }

        public int? Sequence { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string Brief { get; set; }
        public string Purpose { get; set; }
        public string KeyConsiderations { get; set; }
        public abstract Step Create();

        [InverseProperty("Task")]
        public ICollection<TaskRole> Roles { get; set; }
    }
}
